System and method for managing game specific meter information in a gaming system

ABSTRACT

A method for managing game specific meters in a gaming system comprises receiving game meter information of a specific game instance from a gaming application. The game meter information is subsequently provided to a gaming manager application capable of interfacing with the gaming system.

RELATED APPLICATIONS

This application claims priority to and benefit of Australian Patent Application No. 2007903953, filed on Jul. 20, 2007, entitled “A SYSTEM AND METHOD FOR MANAGING GAME SPECIFIC METER INFORMATION IN A GAMING SYSTEM,” which is herein incorporated by reference in its entirety.

The present invention relates to a system and method for managing game specific meters in a gaming system. [Not Applicable]

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[Not Applicable]

MICROFICHE/COPYRIGHT REFERENCE

[Not Applicable]

BACKGROUND OF THE INVENTION

It is often necessary to collect and record data with regard to the number and/or type of events which occur within a device or machine.

For example, it is often desirable or necessary to require the collection and recording of a number of events and measurement parameters that occur when a user interacts with a gaming machine or a gaming system. Such events or parameters are also called meters or meter information.

One example of a meter is a physical hardware device, which in one form may be a non-resettable (i.e. absolute) counter that registers events such as the input and output of a monetary value (e.g. the payment of bills or coins), the number of win events and the amount of each stake or bet.

Another example is a meter that is created by software in a computing system or computing module within a gaming machine. Such meters are generally ‘held’ in volatile or non-volatile memory, such as RAM (random access memory).

In some systems a client/server architecture is employed and meters are managed by the software architecture surrounding the server game software. At least an embodiment of the present invention relates to an improved meter technique for a client/server architecture. [Not Applicable]

BRIEF SUMMARY OF THE INVENTION

In a first aspect, the present invention provides a method for managing game specific meters in a gaming system, comprising the steps of:

providing a game specific meter module arranged to receive game meter information from a specific game instance; and

providing the game meter information to a gaming manager application capable of interfacing with the gaming system.

On receipt of the game specific information, a database transaction may be initiated to store the game specific meter information.

Predefined meter information may also be requested from the gaming application, and the information may be written to the storage location.

The information may be deemed as committed on the successful storage of the game specific meter information.

On deeming the information as committed, a message may be returned to the gaming manager application, reporting the successful storage of at least one of the game specific and meter information.

The gaming manager application may report successful storage of the game specific meter information to the gaming application.

The game specific meter information may also be utilised to calculate a compensated win, which may include the step of receiving a random number from a random number generator, and utilising the random number as part of the calculation for a compensated win.

The storage location may be a database and the gaming application may reside on a gaming machine.

In a second aspect, the present invention provides a system for managing game specific meters in a gaming system, comprising a game specific meter interface arranged to receive game meter information of a specific game instance from a gaming application and provide the game meter information to a gaming manager application capable of interfacing with the gaming system.

In a third aspect, the present invention provides a computer program arranged to, when executed on a computing system, carry out the method steps in accordance with a first aspect of the invention.

In a fourth aspect, the present invention provides a computer readable medium incorporating a computer program in accordance with a third aspect of the invention.

In a fifth aspect, the present invention provides a data signal comprising the computer program code in accordance with the third aspect.

In a sixth aspect, the present invention provides transmitting the data signal in accordance with the fifth aspect.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which:

FIG. 1 is an example computing system capable of implementing an embodiment of the invention;

FIG. 2 is an example network environment capable of interacting with an embodiment of the invention;

FIG. 3 is a schematic diagram illustrating the component parts of a system in accordance with an embodiment of the invention; and

FIGS. 4 and 5 are flow charts depicting the method steps performed by embodiments of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The system, method and associated software application in accordance with an embodiment of the invention may be executed on a computing system such as the example computing system shown in FIG. 1.

At FIG. 1 there is shown a schematic diagram of a computing system 100 suitable for use with an embodiment of the present invention. The computing system 100 may be used to execute applications and/or system services such as the collection, aggregation, processing and reporting of data in accordance with an embodiment of the present invention.

The computing system 100 preferably comprises a processor 102, read only memory (ROM) 104, random access memory (RAM) 106, and input/output devices such as disk drives 108, keyboard 110 (or other input peripherals such as a mouse, not shown), display 112 (or other output peripherals such as a printer, not shown) and communications link 114. The computer includes programs that may be stored in ROM 104, RAM 106, or disk drives 108 and may be executed by the processor 102.

The communications link 114 connects to a computer network but could be connected to a telephone line, an antenna, a gateway or any other type of communications link. Disk drives 108 may include any suitable storage media, such as, for example, floppy disk drives, hard disk drives, CD ROM drives or magnetic tape drives. The computing system 100 may use a single disk drive or multiple disk drives. The computing system 100 may use any suitable operating system, such as Windows™ or Unix™.

The computing system 100 may be a gaming server arranged to be networked to a plurality of gaming machines, such that information may be sent from the gaming server to one or more gaming machines, or from the one or more gaming machines to the gaming server.

The computing system 100 may be capable of executing a software application 116 (which may be in the form of an API) in accordance with an embodiment of the invention.

It will be understood that the computing system described in the preceding paragraphs is illustrative only and that the presently described embodiment or other embodiments which fall within the scope of the claims of the present application may be executed on any suitable computing system, which in turn may be realized utilizing any suitable hardware and/or software.

Other computing systems that may be suitable include server computers, hand-held or portable computing devices, consumer electronics, and other devices capable of receiving electronic information, including automated ‘teller’ machines and vending machines.

FIG. 2 illustrates an example network environment 200, with a server computer 202 in communication with client computers 204 a, 204 b, 204 c, etc., via a network (or a bus) 206, in which an embodiment of the present invention may be employed.

In more detail, the server 202 may be a gaming server, arranged to interconnect a number of gaming machines 204 a, 204 b, 204 c, etc., via the communications network 206, which may be a local or wide area network, such as an intranet, the Internet, etc.

It will be understood that the client computers need not be gaming machines, but may be a terminal, another computing system, a portable communications device, such as a mobile telephone, or any other device capable of receiving information from the server.

The server 202, and the client devices 204 a, 204 b, 204 c, etc., may communicate with each other over the communications network 206 by use of any suitable networking protocol, such as TCP/IP, GSA G2S (Gaming Standards Association Game-to-System protocol), GSA S2S (Gaming Standards Association System-to-System protocol) or any other suitable protocol for the exchange of information 208.

The exchange of information may include the provision of XML files, the XML files providing information to be utilized by any or all of the servers and client devices.

Referring now to FIG. 3, there is shown a schematic diagram illustrating the components of a system in accordance with an embodiment of the present invention.

FIG. 3 is a schematic diagram that depicts a system in accordance with an embodiment of the present invention. A gaming machine 300 is connected to a game application server 302. The game application server 302 is connected to (or includes) a game server database 304. The game server database 304 utilises a database logic layer 306 to interact with the game application server 302. While the embodiment described with reference to FIG. 3 only shows one gaming machine 300 connected to one game application server 302, it will be understood that a plurality of gaming machines may be connected to the game application server 302.

The gaming machine 300 contains and is capable of executing client game software, which may allow a number of games, 308 a, 308 b, 308 c, etc. to be played on the gaming machine.

The game application server 302 includes a plurality of software modules, including manager modules 310, wherein each manager module is arranged to manage a different function of the game application server 302.

It will be understood that each module may also contain sub-modules, arranged to perform particular functions.

In the embodiment described herein, there is included the following modules:

-   -   a gaming machine manager 312;     -   a game manager 314 which includes combined game application         interface (GDK) 315 and server game software modules 316 for         each of games Game 1 to Game #;     -   a jackpot manager 318;     -   a meter manager 320 comprising meter logic 322, a platform meter         cache 324 and a game meter cache 326.

In this respect, meters may be broadly classified into at least two types, according to the type of information held by the meter. One type of meter is the platform meter, which is a meter that collects information pertaining to a gaming machine or gaming system (e.g. the input or output of money). Another type of meter is the game meter, which is a meter that monitors events that occur within a particular game (e.g. the number of win events in a game that resulted in a payout). That is, particular games in a gaming system may include further meters specific to the game type. The game meter cache 326, in the embodiment described herein, is dynamically created in the gaming application server 302, by any appropriate method, such as, for example, the allocation or ‘blocking’ of a portion of memory in RAM or ROM.

In the specific embodiment described herein, there is provided one platform meter cache instance per gaming machine 300 that is connected to the game application server 302. In other words, there is one game meter cache per gaming machine and also per game.

It will be understood that while, in the embodiment described, the cache 326 resides in the game application server, an alternate embodiment may include the cache in the gaming machine 300.

In the client-server based gaming system all events occurring in the course of executing a game are registered in the game server database 304. Predefined meters are also registered in the database. The meters are handled separately from but tightly coupled with the normal event registration.

The meter registration is handled in a sequence with the normal event registration as a part of an “atomic” transaction in the sense that either all steps are performed or the transaction is considered not to have occurred. The transaction is managed by the logic layer 306 of the database 304.

The transaction includes two separate database storage operations that are required to have occurred before the transaction can be committed.

The game application interface (GDK) 315 is provided with an interface for game specific meters, namely a Game Specific Meter Interface (GSMI) 328. The GSMI 328 is arranged to communicate meter control commands and meter values between the server game software 316 (i.e. for each available Game 1 through to Game #) and the meter manager 320.

Providing this arrangement allows the server game software 316 to access the meter management functionality of the gaming system, and further allows a game developer to define and utilise meters pertaining to internal game events that occur in the game sequence but which do not give any detectable output from the server game software.

The game application server is further provided with a random number generator RNG 330, which via the game manager provides the game with a random number upon request (which can be utilised in the calculation of various game outcomes).

The game application server may further include a compensated gaming controller CGC 332. The compensated gaming controller CGC 332 is capable of receiving game specific meter information from the game specific meter interface GSMI 328 and a random number from the RNG 330. The compensated gaming controller CGC 332 utilises the information to generate win/lose information. This process is described in more detail below.

The GSMI 328 is designed such that the server game software is capable of:

1. Defining its own game specific meters;

2. Naming the meters;

3. Writing to a meter record in the game meter cache 326;

4. Set a meter to any suitable value (this may be required where it is useful for a meter to indicate a predetermined value, rather than an incremental value);

5. Incrementing the meter values; and

6. Retrieving the meter values from the meter record (which may be useful where a first meter value is required to calculate a second meter value).

Referring to FIG. 4, there is described the method steps by which a transaction is committed to the database 304.

In the client-server based gaming system all events occurring in the course of executing a game are registered in the game database. Predefined meters are also registered in the database. The meters are handled separately from but tightly coupled with normal event registration.

The meter registration is handled in a sequence with the normal event registration as a part of an “atomic” transaction in the sense that either all steps are performed or the transaction is considered not to have occurred. The transaction is managed by the logic layer 306 of the database 304. In the normal event and meter registration the transaction includes two separate database storage operations that are required to have occurred before the transaction can be committed.

The general structure of the information flow (with reference to FIG. 4) includes the following steps:

1. An internal game event that entails game specific meter updating according to predefined rules in the server game software occurs in the server game software (400).

2. A request with associated meter information is sent from the server game software to the game manager 314 via the game specific meter interface GSMI 328 (402).

3. A database transaction T1 is started by the game manager 314 (404).

4. The GSMI 328 sends the game specific meter information to the meter logic 322 of the meter manager 320 (406).

5. The meter logic 322 increments (or updates, as required) current game specific meters associated with the game in the game meter cache 326 (408).

6. The meter logic 322 retrieves a current set of meter values from the game meter cache 326 (410).

7. The meter logic 322 stores the set of retrieved meter values in the game server database 304 (412).

8. The transaction T1 is committed and a commit message is sent by the database logic layer 306 to the game manager 314 (414).

9. The game manager 314 generates a response message and sends the message to the server game software (Game #) via the GSMI 328 (416).

11. The server game software (Game #) continues execution (418).

The utilisation of the GSMI allows for the following functionality to be implemented in the gaming system:

1. The monitoring of system defined meters that depend on game specific internal game events but which are required to be monitored. Such meters are typically related to the balance of economy and finance in the gaming system. An example of a game specific internal event is the occurrence of Double Up in the game Super 7.

2. The utilisation of information derived from game specific meters to be used for statistical use. That is, game specific internal game events defined by the game developer can be monitored. An example is the occurrence of a hand in Black Jack which allows a player to split and the actual usage of the split option by a player.

3. Compensated gaming, which is used in certain jurisdictions, such as the United Kingdom and the Netherlands, to compensate a game venue dependent on a share of the total income from gaming during a specific time period. In such a case, there is often a guaranteed level of return to player (RTP) for a specific time period, e.g. a week or a day. To calculate the compensation due it is necessary to adapt the probability of a win at any given point in time based on the win history during the lapsed time of a defined time period. Game specific meters provide important control information to enabling compensated gaming to be calculated in an accurate manner.

In the case where compensated gambling is utilised, the game application server further comprises a compensated gaming controller CGC 332. Referring to the flow chart of FIG. 5 and the schematic diagram of FIG. 3, the compensated gaming controller CGC 332 receives (as input) game specific meter information from the game specific meter interface GSMI 328 and a random number from the RNG 330 generated upon request from the game (step 500). The compensated gaming controller CGC 332 then calculates appropriate win/lose information utilising the random number, the game specific meter information and a set of predetermined rules for determining a win/loss based on win history (Step 502). This information may then be returned to the game manager 314 (Step 504), which may then alter the outcome of the games 308 a, 308 b, 308 c on the gaming machine 300 (Step 506). This manner of managing games of chance is thus not truly random, but rather random over a certain time period.

Although not required, the embodiments described above may be implemented via an application programming interface (API), for use by a developer, and can be included within another software application, such as a gaming machine operating system or a gaming server operating system.

Generally, as program modules include routines, programs, objects, components, and data files that perform or assist in the performance of particular functions, it will be understood that a software application which carries out method steps in accordance with an embodiment of the invention may be distributed across a plurality of routines, objects and components, which correspondingly may be located across a plurality of physical hardware devices. Such variations and modifications are within the purview of those skilled in the art. 

1. A method for managing game specific meters in a gaming system, comprising the steps of: receiving game meter information of a specific game instance from a gaming application; and providing the game meter information to a gaming manager application capable of interfacing with the gaming system.
 2. A method in accordance with claim 1, comprising the further step of, on receipt of the game specific information, initiating a database transaction to store the game specific meter information.
 3. A method in accordance with claim 1, comprising the further step of, requesting predefined meter information from the gaming application, and writing the predefined information to the storage location.
 4. A method in accordance with claim 1, comprising the further step of deeming the information as committed on the successful storage of the game specific meter information.
 5. A method in accordance with claim 4, comprising the further step of, on deeming the information as committed, returning a message to the gaming manager application reporting the successful storage of at least one of the game specific and meter information.
 6. A method in accordance with claim 5, comprising the further step of the gaming manager application reporting successful storage of the game specific meter information to the gaming application.
 7. A method in accordance with claim 1, comprising the further step of utilising the game specific meter information to calculate a compensated win.
 8. A method in accordance with claim 7, comprising the further step of receiving a random number from a random number generator, and utilising the random number as part of the calculation for a compensated win.
 9. A method in accordance with claim 1, wherein the storage location is a database.
 10. A method in accordance with claim 1, wherein the gaming application resides on a gaming machine.
 11. A system for managing game specific meters in a gaming system, comprising a game specific meter interface arranged to receive game meter information of a specific game instance from a gaming application and provide the game meter information to a gaming manager application capable of interfacing with the gaming system.
 12. A system in accordance with claim 11, wherein the gaming manager application, on receipt of the game specific information, initiating a database transaction to store the game specific meter information.
 13. A system in accordance with claim 11, wherein the gaming manager application requests predefined meter information from the gaming application, and writes the predefined information to the storage location.
 14. A system in accordance with claim 11, wherein the information is deemed as committed on the successful storage of the game specific meter information.
 15. A system in accordance with claim 14, wherein, on deeming the information as committed, a message is returned to the gaming manager application reporting the successful storage of at least one of the game specific and meter information.
 16. A system in accordance with claim 15, wherein the gaming manager application reports successful storage of the game specific meter information to the gaming application.
 17. A system in accordance with claim 11, further comprising a compensated gaming controller arranged to utilise the game specific meter information to calculate a compensated win.
 18. A system in accordance with claim 17, further comprising a random number generator, wherein the random number generated by the random number generator is utilised, in part, to calculate a compensated win.
 19. A system in accordance with claim 11, wherein the storage location is a database.
 20. A system in accordance with claim 11, wherein the gaming application resides on a gaming machine.
 21. A computer program arranged to, when executed on a computing system, carry out the method steps of claim
 1. 22. A computer readable medium incorporating a computer program in accordance with claim
 21. 23. A data signal comprising the computer program code according to claim
 21. 24. Transmitting the data signal according to claim
 23. 